// 登录拦截模块

module.exports = (req, res, next) => {
    // 若用户是登录请求-放行
    // 若用户不是登录请求则判断登录状态
    // 若用户是登录状态则判断用户角色
    //    若用户是超级管理员则放行
    //    若用户是普通用户则跳转到普通用户首页
    let url = req.url;
    if (url == '/login') {
        next();
    } else {
        // 用户是退出登录请求，用户是登录验证请求，直接放行
        if (url == '/logout' || url == '/loginCheck') return next();
        // 判断用户登录状态
        if (req.session.username) {
            // 用户是登录状态,判断用户角色
            // 用户是超级管理员-放行
            if (req.session.role == 'admin') return next();
            // 用户是普通用户，跳转到用户首页
            else return res.redirect('/home');
        } else {
            // 用户不是登录状态，跳转到登录页面
            res.redirect('/admin/login');
        }
    }
}